home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Dr. Windows 3
/
dr win3.zip
/
dr win3
/
WINWORDS
/
EW12B.ZIP
/
EWTECH.ZIP
/
EWTECH.001
next >
Wrap
Text File
|
1993-01-19
|
2KB
|
48 lines
E! for Windows - Technical Note #001
**************************************
Troubles when compiling with MSC 7.00
**************************************
If you use the Microsoft (tm) C/C++ compiler version 7.00, you may have
trouble when compiling a program from E!: the output of CL.EXE cannot be
captured, thus preventing E! from pointing to errors in your source file.
We have investigated this problem and we found that CL doesn't seem to use
DOS calls when making output to the screen. Since the EWX program used by E!
to launch compilers is based on the assumption that any compiler uses
standard DOS calls to output messages, it fails.
There's a work-around however. We have noticed that this behavior changes if
the output of CL is redirected.
So, if you append a "> nul" redirection command to the CL command in either
the Commands dialog box of E! or in your makefile, E! will be able to capture
the compiler's output and therefore it will be able to show you the errors in
the source files.
We are waiting for an answer of Microsoft about this problem. If another
solution exists, we'll document it immediately.
Patrick Philippot
01/13/93
We got no answer from the Microsoft support but we found out that while CL
is actually using int 21h function 40h to output data to the screen in any
case, it uses stdout only when it is redirected. Otherwise, it seems to use
a duplicate handle to write to the screen. So, the above work-around seems
to be the only solution to bypass this strange behavior.
Patrick Philippot
01/15/93
Thanks to Microsoft's technical support we have found a satisfactory
solution to this problem. The new version of EWX.EXE now checks whether the
standard output device handle has been remapped and is able to capture this
output even in that case. The "> nul" trick is no more necessary with MSC
7.00.
However, it may be useful with other compilers using a DOS extender.
Patrick Philippot
01/19/93